#include <vector>
#include <unordered_map>

using namespace std;


class Solution {
public:
    //让对应位置的字符进行关联
    bool isIsomorphic(string s, string t) {
        unordered_map<char , char> map;
        for(int i = 0; i<s.size(); i++)
        {
            if(map[s[i]] && map[s[i]]!=t[i])
                return false;
            else
                //map.insert(make_pair(s[i],t[i])); 不能用这种因为在 C++ 中
                //对于 unordered_map<char, char> map当你访问 map[key] 时           
                //如果 key 不存在它会 自动插入一个键值对 (key, char())其中 char() 是字符的默认值（即空字符 \0）
                //所以用赋值
                map[s[i]]=t[i];
        }

        map.clear();
        for(int i = 0; i<t.size(); i++)
        {
            if(map[t[i]] && map[t[i]]!=s[i])
                return false;
            else
               // map.insert(make_pair(t[i],s[i]));
               map[t[i]]=s[i];
        }

        return true;
    }
};